unsigned int store_evtchn,
unsigned long *store_mfn);
-int
-xc_plan9_build (int xc_handle,
- u32 domid,
- const char *image_name,
- const char *cmdline,
- unsigned int control_evtchn,
- unsigned long flags);
-
struct mem_map;
int xc_vmx_build(int xc_handle,
u32 domid,
return Py_BuildValue("{s:i}", "store_mfn", store_mfn);
}
-static PyObject *pyxc_plan9_build(PyObject *self,
- PyObject *args,
- PyObject *kwds)
-{
- XcObject *xc = (XcObject *)self;
-
- u32 dom;
- char *image, *ramdisk = NULL, *cmdline = "";
- int control_evtchn, flags = 0;
-
- static char *kwd_list[] = { "dom", "control_evtchn",
- "image", "ramdisk", "cmdline", "flags",
- NULL };
-
- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|ssi", kwd_list,
- &dom, &control_evtchn,
- &image, &ramdisk, &cmdline, &flags) )
- return NULL;
-
- if ( xc_plan9_build(xc->xc_handle, dom, image,
- cmdline, control_evtchn, flags) != 0 )
- return PyErr_SetFromErrno(xc_error);
-
- Py_INCREF(zero);
- return zero;
-}
-
static PyObject *pyxc_vmx_build(PyObject *self,
PyObject *args,
PyObject *kwds)
" vcpus [int, 1]: Number of Virtual CPUS in domain.\n\n"
"Returns: [int] 0 on success; -1 on error.\n" },
- { "plan9_build",
- (PyCFunction)pyxc_plan9_build,
- METH_VARARGS | METH_KEYWORDS, "\n"
- "Build a new Plan 9 guest OS.\n"
- " dom [long]: Identifier of domain to build into.\n"
- " image [str]: Name of kernel image file. May be gzipped.\n"
- " cmdline [str, n/a]: Kernel parameters, if any.\n\n"
- "Returns: [int] 0 on success; -1 on error.\n" },
-
{ "vmx_build",
(PyCFunction)pyxc_vmx_build,
METH_VARARGS | METH_KEYWORDS, "\n"
return 0
return ret
-class Plan9ImageHandler(ImageHandler):
-
- ostype = "plan9"
-
- def buildDomain(self):
- return xc.plan9_build(dom = self.vm.getDomain(),
- image = self.kernel,
- control_evtchn = self.vm.channel.getRemotePort(),
- cmdline = self.cmdline,
- ramdisk = self.ramdisk,
- flags = self.flags,
- vcpus = self.vm.vcpus)
-
class VmxImageHandler(ImageHandler):
__exports__ = ImageHandler.__exports__ + [